#include "threadpool.hpp"
#include <unistd.h>
#include <memory>
void* example_work(void *param)
{
    int* pnum = reinterpret_cast<int*>(param);
    std::cout<<*pnum<<std::endl;
    return nullptr;
}

int main()
{

    PthreadPool pool(3);
    for(int i=0;i<10;i++)
    {
        std::unique_ptr<Task> task(new Task);
        task->func=example_work;
        task->args=new int(i);
        pool.AddTask(*task);
    }   
    sleep(5);
    return 0;
}